package cn.com.surker.production.entity.report;

import cn.com.surker.base.ExportInter;
import cn.com.surker.enums.ICodeDescEnum;
import cn.com.surker.enums.production.indent.ProTypeEnum;
import cn.com.surker.enums.sale.ContractCategoryEnum;
import cn.com.surker.excel.ExcelCell;
import cn.com.surker.lab.entity.LabExpendUpload;
import cn.com.surker.production.entity.ProductionIndent;
import cn.com.surker.production.entity.vo.ProductionIndentVo;
import cn.com.surker.production.entity.vo.ProductionInvoiceVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 用于导出调度开盘计划
 *
 * @author luotao
 * @date 2024/9/12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ProductionIndentPlan implements ExportInter {

	public ProductionIndentPlan(ProductionIndentVo indentVo) {
		this.code = indentVo.getCode();
		this.type = indentVo.getTypeTxt();
		this.conName = indentVo.getConName();
		this.clientName = indentVo.getClientName();
		this.site = indentVo.getSite();
		this.strengthName = indentVo.getStrengthName();
		this.castMode = indentVo.getCastModelName();
		this.distance = indentVo.getDistance();
		this.pumpDeviceName = indentVo.getPumpDeviceName();
		this.planStere = indentVo.getPlanStere();
		this.planTime = indentVo.getDispatchStartTime();
		this.sale = indentVo.getSales();
		this.foreman = indentVo.getForeman();
		this.remark = indentVo.getRemark();
	}

	@ExcelCell(value = "任务单编号", sort = 1)
	private String code;

	@ExcelCell(value = "状态", sort = 2)
	private String type;

	@ExcelCell(value = "工程名称", sort = 3)
	private String conName;

	@ExcelCell(value = "客户名称", sort = 4)
	private String clientName;

	@ExcelCell(value = "施工部位", sort = 5)
	private String site;

	@ExcelCell(value = "强度等级", sort = 6)
	private String strengthName;

	@ExcelCell(value = "浇筑防蛇", sort = 7)
	private String castMode;

	@ExcelCell(value = "运距", sort = 8)
	private Double distance;

	@ExcelCell(value = "泵送设备", sort = 9)
	private String pumpDeviceName;

	@ExcelCell(value = "计划方量", sort = 10, calcTotal = true)
	private Double planStere;

	@ExcelCell(value = "计划开盘时间", sort = 11)
	private Date planTime;

	@ExcelCell(value = "销售人员", sort = 12)
	private String sale;

	@ExcelCell(value = "前场工长", sort = 13)
	private String foreman;

	@ExcelCell(value = "备注", sort = 14)
	private String remark;

}
